package com.zp.business.entity.patVisitIndex;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zp.common.core.entity.BaseEntity;
import com.zp.common.satoken.utils.LoginHelper;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 患者入院基本信息对象 pat_visit_index
 *
 * @author zhang peng
 * @ date 2024-06-24
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("pat_visit_index")
public class PatVisitIndex extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "visit_index_id")
    private String visitIndexId;

    /**
     * 住院id
     */
    private String visitId;

    /**
     * 新生儿标记
     */
    private String newbornFlag;

    /**
     * 患者姓名
     */
    private String name;

    /**
     * 姓名拼音码
     */
    private String inputCode;

    /**
     * 身高(cm)
     */
    private String height;

    /**
     * 体重(g)
     */
    private BigDecimal weight;

    /**
     * 性别
     */
    private String sex;

    /**
     * 婚姻
     */
    private String marriage;

    /**
     * 职业
     */
    private String occupation;

    /**
     * 年龄
     */
    private Integer age;

    /**
     * 年龄-月
     */
    private Integer ageMonth;

    /**
     * 年龄-天
     */
    private Integer ageDay;

    /**
     * 年龄-时
     */
    private Integer ageHours;

    /**
     * 年龄-分
     */
    private Integer ageMinutes;

    /**
     * 民族
     */
    private String nation;

    /**
     * 国籍
     */
    private String nationality;

    /**
     * 参保类型
     */
    private String canBaoType;

    /**
     * 生日
     */
    private Date birthdayDate;

    /**
     * 籍贯
     */
    private String nativePlace;

    /**
     * 籍贯代码
     */
    private String nativePlaceCode;

    /**
     * 邮编
     */
    private String zipCode;

    /**
     * 出生地编码
     */
    private String homePlaceCode;

    /**
     * 出生地
     */
    private String homePlace;

    /**
     * 住址编码
     */
    private String addressCode;

    /**
     * 住址
     */
    private String address;

    /**
     * 身份
     */
    private String identity;

    /**
     * 身份证号
     */
    private String idNo;

    /**
     * 电话
     */
    private String phone;

    /**
     * 联系人
     */
    private String contacts;

    /**
     * 联系人地址
     */
    private String contactsAddress;

    /**
     * 联系人地址编码
     */
    private String contactsAddressCode;

    /**
     * 联系人电话
     */
    private String contactsPhone;

    /**
     * 联系人关系
     */
    private String contactsRelation;

    /**
     * 联系人身份证号
     */
    private String contactsIdNo;

    /**
     * 合同单位ID
     */
    private String unitInContractId;

    /**
     * 合同单位
     */
    private String unitInContract;

    /**
     * 工作单位
     */
    private String workContract;

    /**
     * 所属地区
     */
    private String affiliatingArea;

    /**
     * 医保类别
     */
    private String insuranceType;

    /**
     * 是否建档立卡户Y是N否
     */
    private String isCard;

    /**
     * 费别
     */
    private String chargeType;

    /**
     * 外部原因
     */
    private String externalCause;

    /**
     * 是否尸检
     */
    private String autopsyFlag;

    /**
     * 实习医生
     */
    private String practiceDoctor;

    /**
     * 进修医生
     */
    private String engageDoctor;

    /**
     * 是否药物过敏Y是，N否
     */
    private String isDrugAllerge;

    /**
     * 药品过敏
     */
    private String drugAllergy;

    /**
     * 机构ID
     */
    private String orgId;

    /**
     * 删除标记
     */
    @TableLogic
    private String delFlag;
    /**
     * 备注
     */
    private String remarks;
    /**
     * RH血型
     */
    private String rh;
    /**
     * ABO血型
     */
    private String abo;
    /**
     * 病理诊断编码
     */
    private String pathologicalDiagCode;
    /**
     * 病理号
     */
    private String pathologicalNo;
    /**
     * 病理诊断
     */
    private String pathologicalDiag;
    /**
     * 户口地址邮编
     */
    private String registZipCode;
    /**
     * 户口地址
     */
    private String registAddress;
    /**
     * 户口地址编码
     */
    private String registAddressCode;
    /**
     * 工作单位邮编
     */
    private String workCode;
    /**
     * 工作单位电话
     */
    private String workPhone;
    /**
     * 外部损伤中毒疾病编码
     */
    private String externalCauseCode;
    /**
     * 建议预交金
     */
    private BigDecimal paymentAdvice;
    /**
     * $column.columnComment
     */
    private String residenceNo;
    /**
     * 医疗付款方式
     */
    private String medicalPayWay;
    /**
     * 颅脑损伤患者昏迷时间入院前(天)
     */
    private String brainDamageTimeBeforeDay;
    /**
     * 颅脑损伤患者昏迷时间入院前(小时)
     */
    private String brainDamageTimeBeforeHour;
    /**
     * 颅脑损伤患者昏迷时间入院前(分钟)
     */
    private String brainDamageTimeBeforeMinute;
    /**
     * 颅脑损伤患者昏迷时间入院后(天)
     */
    private String brainDamageTimeAfterDay;
    /**
     * 颅脑损伤患者昏迷时间入院后(小时)
     */
    private String brainDamageTimeAfterHour;
    /**
     * 颅脑损伤患者昏迷时间入院后(分钟)
     */
    private String brainDamageTimeAfterMinute;
    /**
     * 是否有出院31天再住院计划
     */
    private String comeAgainIf;
    /**
     * 再住院目的
     */
    private String comeAgainPurpose;
    /**
     * 人员类别编码
     */
    private String persType;
    /**
     * 分级统筹中心编码
     */
    private String centerId;
    /**
     * 文化程度
     */
    private String eduLevel;
    /**
     * $column.columnComment
     */
    private String matnType;
    /**
     * $column.columnComment
     */
    private String latechbFlag;
    /**
     * $column.columnComment
     */
    private String pretFlag;
    /**
     * $column.columnComment
     */
    private Date birctrlMatnDate;
    /**
     * 计划生育服务证号
     */
    private String fpscNo;
    /**
     * 计划生育手术类型
     */
    private String birctrlType;
    /**
     * 孕周数
     */
    private String gesoVal;
    /**
     * 胎次
     */
    private String fetts;
    /**
     * 胎儿数
     */
    private String fetusCnt;
    /**
     * 本地状态
     */
    private String localFlag;
    /**
     * 熔断后异常信息
     */
    @TableField(exist = false)
    private String exceptionCode;
    /**
     * 是否早产
     */
    private String isTrauma;
    /**
     * 是否晚育
     */
    private String isLateBirthFlag;
    /**
     * 生育类别
     */
    private String birthCategory;
    /**
     * 医保卡号
     */
    private String yiBaoCardCode;
    /**
     * 医保编号
     */
    private String yiBaoNumber;
    /**
     * 病人信息Id
     */
    private String patientId;
    /**
     * 入院申请表id
     */
    private String noticeId;

    public void initEntity() {
        this.delFlag = "0";
    }

    /**
     * 修改人、修改时间信息信息
     */
    public void updateInfo() {
        setUpdateBy(LoginHelper.getLoginUser().getNickName());
        setUpdateTime(new Date());
    }

}
